package br.com.rsrpp.domain.service;

import java.util.List;

import javax.servlet.http.HttpSession;

import br.com.rsrpp.domain.model.Categoria;
import br.com.rsrpp.domain.model.Comentario;
import br.com.rsrpp.domain.model.Divulgado;
import br.com.rsrpp.domain.model.PS;
import br.com.rsrpp.domain.model.Status;
import br.com.rsrpp.domain.model.UP;
import br.com.rsrpp.domain.model.Usuario;


public interface PSService {

	void cadastrarNovoPS(HttpSession session, String titulo, String descricao, String endereco, String latlng, String dt_problema, String url_video, String url_img, int id_ps_ref, int id_categoria, int id_status);
	
	void atualizarPS(int id, String titulo, String descricao, String endereco, String latlng, String dt_problema, String url_video, String url_img, int id_ps_ref, int id_status);

	public void editStatus(int id_ps, int status);
	
	void apoiarPS(Usuario user, int id_ps);
	
	void comentarPS(String comentario, int id_ps, Usuario user);
	
	void excluirComentario(int id_coment, int id_ps);
	
	void addMovie(String url_video, int id_ps, boolean owner);
	
	void aprovarVideo(int id_video, int id_ps);
	
	void excluirVideo(int id_video, int id_ps);
	
	void addImg(String url_img, int id_ps, boolean owner);
	
	void aprovarImg(int id_img, int id_ps);
	
	void excluirImg(int id_video);
	
	PS buscarPSById(int id);
	
	List<UP> buscarApoios (int id_usuario, int id_ps);
	
	List<PS> buscarTodosPS();
	
	List<UP> buscarPSByProprietario(int id);
	
	List<UP> buscarPSByIdUsuario(int id);

	List<Comentario> buscarComentarioByIdPS(int id);

	List<Divulgado> buscarDivulgadosByIdPS();
	
	Categoria buscarCategoriaById(int id);
	
	Status buscarStatusById(int id);
	
	List<Categoria> buscarCategorias();
	
	List<Status> buscarStatus();

	UP buscarProprietario(int id_ps);
	
	List<PS> searchPS(String atributo, int id_categoria, int id_status);	
		
	boolean eProprietario(int id_usuario, int id_ps);

	boolean canEdit(int id);
	
	boolean canEdit2(int id);
	
	void inserts();
	
	void cadastrarTeste(PS ps);
}
